/*
 * Constant contains all the constant variables used in the BeautyRoxy system.
 * 
 */

package global;

public class Constant {
	// BeautyRoxy system level attribute constants
	public static final String APPLICATION_NAME = "BeautyRoxy";
	public static final String CLIENT_ID = "580682450366.apps.googleusercontent.com";
	public static final String CLIENT_SECRET = "Yb4vTL0KqHHCqFnJZd6mi6PG";
	public static final String APPLICATION_SCOPE = "https://www.googleapis.com/auth/calendar";
	public static final String MOD_RECORD_FOLDER_NAME = "Modification Record";
	public static final String MOD_RECORD_FILE_NAME = "Command Storage.txt";
	public static final String TASK_STORAGE_FOLDER_NAME = "BeautyRoxy Storage";
	public static final String HEX = "#";
	public static final String DEFAULT_CALENDAR_ID = "primary";
	public static final String BROWSER = "google-chrome";
	public static final String SPECIALS_REGEX = "[>,?*:\\\\&/|^<\"]";

	// feedback message constants
	public static final String INVALID_INPUT_DISPLAY_COMMAND = "please enter valid input for display";
	public static final String INVALID_INPUT_DELETE_COMMAND = "please enter valid input for deletion";
	public static final String INVALID_INPUT_MARK_COMMAND = "please enter valid input for marking";
	public static final String INVALID_INPUT_UPDATE_COMMAND = "please give a vaild index for the task you want to update";
	public static final String INVALID_INPUT_FOR_FLOAT_TASK = "content of untimed task cannot be empty";
	public static final String START_TIME_LATER_THAN_END_TIME = "error: please ensure that "
			+ "your ending time is later than the starting time of the event";
	public static final String EMPTY_COMMAND = "empty command is invalid ";
	public static final String NULL_COMMAND_TYPE = "command type string cannot be null!";
	public static final String UNRECOGNIZED_COMMAND_TYPE = "Unrecognized command type";
	public static final String ERROR_SIGNAL = "error";
	public static final String UNKNOWN_ERROR = "An unknown error has occured";
	public static final String UNDONE_TASK_STATE = "undone";
	public static final String DONE_TASK_STATE = "done";
	public static final String SUGGEST_UNDO = "\nif you do not get the right interpretation from the software,"
			+ " please undo the last command and make sure you follow the right format";
	public static final String GOOGLE_DISCONNECTED_MESSAGE = "\nGoogle Calendar Disconnected";
	public static final String GOOGLE_CONNECTED_MESSAGE = "Google Calendar Connected";

	// Task related attribute constants
	public static final Time EMPTY_TASK_STARTING_TIME = null;
	public static final Time EMPTY_TASK_ENDING_TIME = null;
	public static final String EMPTY_TASK_LOCATION = "";
	public static final String TIME_TASK_TYPE = "time";
	public static final String DEADLINE_TASK_TYPE = "deadline";
	public static final String FLOAT_TASK_TYPE = "float";
	public static final String EMPTY_TASK_ATTRIBUTE_VALUE = " ";
	public static final int UNKNOWN_TASK_TYPE_INT = -1;
	public static final int TIME_TASK_TYPE_INT = 0;
	public static final int DEADLINE_TASK_TYPE_INT = 1;
	public static final int FLOAT_TASK_TYPE_INT = 2;

	// Command Type String constants
	public static final String ADD_COMMAND_TYPE = "add";
	public static final String DELETE_COMMAND_TYPE = "delete";

	// Miscellaneous
	public static final String EMPTY_STRING = "";
	public static final String SPACE = " ";
	public static final int RECURRENCE_TIMES = 0;
	public static final int RECURRENCE_PERIOD = 1;
	public static final String DRIVE_PARTITION = "C:";
	public static final String USERS = "users";
	public static final String DOCUMENTS = "Documents";
	public static final String PATH_SEPARATOR_FOR_WINDOWS = "\\";
	public static final String PATH_SEPARATOR_FOR_UNIX = "/";
	public static final String NEW_LINE = "\n";
	public static final String TRUE_STRING = "true";
	public static final String FALSE_STRING = "false";
	public static final String NULL_STRING = "null";

	// parser related
	public static final int SEARCHOPTION_IS_SEARCH = 0;
	public static final int SEARCHOPTION_IS_AFTER = 1;
	public static final int SEARCHOPTION_DATE_ADJUSTED = 2;
	public static final int SEARCHOPTION_IS_BEFORE = 3;

}